package com.berchen.schedu.netty;

import io.netty.util.HashedWheelTimer;
import io.netty.util.Timer;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

/**
 * 使用的是Netty的一个延时任务
 */
public class Schedu {
    public static void main(String[] args) {

        // 一般使用一个公共的timer
        Timer timer = new HashedWheelTimer();
//        Timer timer = new HashedWheelTimer(Executors.defaultThreadFactory(),100,TimeUnit.MILLISECONDS,32);
        // 异步的一个延时任务 （通过公共的timer在需要使用的地方就开启一个延时任务）
        timer.newTimeout((timeout)->{
            System.out.println("延时到，现在去数据库删除订单");
        },5, TimeUnit.SECONDS);
//        timer.stop();   // 停止这个延时任务
        System.out.println("1");
    }
}
